package com.xinyue.game.utils;

import io.netty.buffer.ByteBuf;

import java.nio.charset.StandardCharsets;

/**
 * @author 王广帅
 * @since 2023/6/28 20:06
 **/
public class ByteBufUtil {

    public static String readIntString(int size, ByteBuf byteBuf) {
        String msg = null;
        if (byteBuf.isReadable()) {
            byte[] bytes = new byte[size];
            byteBuf.readBytes(bytes);
            msg = new String(bytes, StandardCharsets.UTF_8);
        }
        return msg;
    }

    public static String readShortString(ByteBuf byteBuf) {
        short len = byteBuf.readShort();
        byte[] bytes = new byte[len];
        byteBuf.readBytes(bytes);
        return new String(bytes, StandardCharsets.UTF_8);
    }

    public static String readIntString(ByteBuf byteBuf) {
        String msg = null;
        if (byteBuf.isReadable()) {
            int len = byteBuf.readInt();
            byte[] bytes = new byte[len];
            byteBuf.readBytes(bytes);
            msg = new String(bytes, StandardCharsets.UTF_8);
        }
        return msg;
    }

    public static String readLeftString(ByteBuf byteBuf) {
        String str = null;
        if (byteBuf.isReadable()) {
            int size = byteBuf.readableBytes();
            byte[] bytes = new byte[size];
            byteBuf.readBytes(bytes);
            str = new String(bytes, StandardCharsets.UTF_8);
        }
        return str;
    }
}
